﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KaartenLib
{
    public class KaartenComparerTypesEnWaarden : IComparer<Kaart>
    {
        public int Compare(Kaart x, Kaart y)
        {
            if (x.Soort > y.Soort) return 1;
            if (x.Soort < y.Soort) return -1;
            if (x.Waarde > y.Waarde) return 1;
            if (x.Waarde < y.Waarde) return -1;
            return 0;
        }
    }

    public class KaartenComparerMetEigenVolgorde : IComparer<Kaart>
    {
        private KaartSoort[] volgorde;
        public KaartenComparerMetEigenVolgorde(KaartSoort[] volgorde)
        {
            this.volgorde = volgorde;
        }

        public int Compare(Kaart x, Kaart y)
        {
            if (Array.IndexOf(volgorde, x.Soort) > Array.IndexOf(volgorde, y.Soort)) return 1;
            if (Array.IndexOf(volgorde, x.Soort) < Array.IndexOf(volgorde, y.Soort)) return -1;
            if (x.Waarde > y.Waarde) return 1;
            if (x.Waarde < y.Waarde) return -1;
            return 0;
        }
    }
}
